public class Solution {
    public int removeAndSort(int[] nums) {
        // 先对数组升序排序
        Arrays.sort(nums);
        int slow = 0, fast = 1;
        while (fast < nums.length) {
            // 双指针，当快指针与慢指针指向元素值相同，则跳过
            if (nums[fast] == nums[slow]) {
                fast++;
            }
            // 否则将快指针指向元素替换到慢指针后
            else {
                nums[++slow] = nums[fast++];
            }
        }
        // 慢指针索引+1为修改后数组长度
        return ++slow;
    }
}